This invention relates to improvements in electric motors, and especially to an improved method of determining the angular or electrical position of a rotor of a motor.
A brushless permanent magnet motor comprises a rotor supporting a plurality of magnetic elements adapted to rotate concentrically within a stator comprising a plurality of coil windings. The motor can be driven by energising one of the coils to attract the rotor magnets whilst energising another of the coils to repel the magnets. To cause the motor to rotate continuously, the currents flowing through the coils must be switched with rotor position. This switching is known as commutation.
To control the commutation of the motor currents, the position of the rotor must be determined, and it is well known to provide magnetic sensors such as Hall effect sensors to detect the passing of the rotor magnets. In one known arrangement, three Hall effect sensors are located around an inner periphery of the stator and produce a 3-bit digital code representative of electrical position of the rotor. Whilst this is adequate for control of commutation which occurs at precise predetermined locations dependent upon motor geometry, the output of the sensors is relatively crude and low in resolution.
An arrangement of the kind hereinbefore described is known from our published International patent application WO 97/25767A which is considered to represent the closest prior art to the present invention.
In accordance with a first aspect of the invention, a method of calculating the position at a moment in time of a rotor in a motor which is connected to an output shaft through an intermediate means comprises the steps of:
obtaining a measured rotor position first value indicative of the angular position of the rotor at a first instance in time using a first sensing means provided at the motor;
measuring an output shaft position second value indicative of the angular position of the output shaft at a second instance in time using a second sensing means provided on the output shaft;
combining said first and second values to produce an estimate of the angular position of the rotor at said moment in time; and further comprising the steps of calculating a backlash value indicative of a backlash between the rotor and the output shaft.
Thus, in accordance with the invention, an improved measurement of rotor position can be obtained by employing information from a sensing means provided on the output shaft.
In many systems, a suitable sensing means may already be provided on the output shaft, and so employing information from this sensing means allows an improved method of calculating high resolution position information without the expense and bulk of adding additional high resolution sensors at the motor.
The first sensing means may comprise a plurality of magnetic Hall effect sensors adapted to produce an output signal indicative of the angular position of the rotor. The measurement of motor electrical position used by the method may thus be provided by sampling this output signal. Preferably, the method may comprise the further step of storing the output value from the Hall effect sensors and updating the stored value whenever the output from the Hall effect sensors changes.
In one proposed embodiment, the method may be adapted for use with a motor in an electric power assisted steering system which provides a steering assistance torque, to an output shaft. A separate or combined torque and/or a position sensor are typically provided on the output shaft in this system in order to evaluate the degree of assistance to be provided by the motor, and this torque and position sensor can be used to provide the measurement of the angular position of the output shaft, i.e. used as the second sensing means in the method of the invention.
It may be desirable to provide a gearbox between the motor rotor and the output shaft, and a clutch to allow disengagement of the motor from the output shaft. Thus, the intermediate means may comprise at least a gearbox and/or a clutch.
Where the intermediate means comprises a gearbox, the method may comprise the further step of multiplying the measured output shaft position value from the second sensing means on the output shaft by the gearbox ratio to produce a scaled output shaft position value. For example if the ratio of the gearbox is such that the motor rotates one turn for two turns of the output shaft, the output from the position sensor on the output shaft should be halved to produce the scaled output shaft position value.
The scaled value may also be multiplied by one half the number of rotor poles. Thus, the output of the position sensor can be scaled to correspond with the motor electrical position instead of mechanical position.
This is advantageous in that it enables the output shaft position value to be mapped onto the rotor position.
The method may comprise the further step of calculating an offset value indicative of any angular offset present between the rotor position given by the scaled output shaft position value and the actual rotor position.
The method may further comprise the steps of updating the offset value in response to the output of the rotor position sensor. For example, if the measured rotor position value is obtained using (a) Hall effect sensor(s) at the motor (which may also control(s) commutation timing), a high accuracy measurement of rotor position is available at the instant of change of state of the Hall sensor output which can be combined with the scaled output shaft position value to update the value of the offset.
The value of the offset may be updated instantaneously upon a change in state of the Hall effect sensors. This may correspond to a commutation event occurring in a simple control method. Alternatively, it may be updated at some later time when the next reading from the output shaft sensor is obtained, i.e. at the next update of the scaled output shaft position value. In this case, the measured rotor position can be updated by the addition of an amount dependent upon the product of the speed of the rotor and the time between the change in Hall effect sensor output event and the next update of the scaled output shaft position value. This allows the method to take into account movement of the rotor during this time interval. A motor rotor speed sensor may be provided. Most preferably, the rotor speed could be calculated from a speed sensor on the output shaft combined with a knowledge of gearbox ratio. The speed sensor may form part of a combined speed/torque/position sensor.
The method may further comprise estimating a separate offset value for each direction of rotation of the rotor. This is advantageous in that it allows the effect of differing properties of the system in different rotational directions to be taken into account.
When a clutch is provided as a part of the intermediate means, the relationship between scaled output shaft position value and rotor position value can not be determined whilst the clutch is disengaged. In this state, the method is invalid and so a further step of determining the state of the clutch can be included. When the clutch is disengaged, a xe2x80x98method validxe2x80x99 flag can be lowered so that the results of the method are ignored. Similarly, the xe2x80x98method validxe2x80x99 flag can be raised when the clutch is engaged.
The offset may be further refined by incorporating an adjustment value dependent on the backlash present between the rotor and the output shaft. The backlash adjustment value can be estimated from the difference between the offset values for each direction of rotation. The offset may be further refined by incorporating an adjustment value dependent on the compliance of the gearset between the rotor and the output shaft. The compliance may be estimated, and may be a fixed pre-set value.
Additionally, that part of the offset due to torsion in the intermediate means due to motor output torque may be subtracted.
In order to estimate the backlash from the offset values, a filter can be employed to obtain the estimated backlash values. As the backlash value would not be expected to change rapidly, the filter may only be updated when either of the offset values for the forward or reverse direction have been updated.
The backlash value may be averaged over time to produce a backlash value which varies over time at a slower rate than the pre-averaged backlash value. This averaged value may then be used in all calculations. The averaging may be performed by passing the backlash value through a recursive filter.
At each initialisation of the system, the previously calculated value of backlash may be re-used. Thus, the method may comprise a further step of storing the backlash estimates when the system is powered down, for example by writing the value of the backlash estimate(s)-into non-volatile memory on power down and reading the value(s) on power up.
In accordance with a second aspect, we provide an electrical power assisted steering system comprising:
an electric motor comprising at least a stator and a rotor, an output shaft connected to the rotor through an intermediate means,
a first sensing means at the motor adapted to produce an output indicative of the position of the rotor,
a second sensing means at the output shaft adapted to provide at least an output indicative of the position of the output shaft, and
an electronic processing means adapted to receive the first and second output signals and produce an estimate of the position of the rotor in accordance with the method of the first aspect of the invention.
Preferably, the electronic processing means is further adapted to control the operation of the electric motor based upon the estimated position of the rotor.
The first sensing means may comprise a plurality of Hall effect sensors adapted to detect the passing of magnets on the motor rotor. The second sensing means may comprise a dedicated angular position sensor or a combined torque sensor and angular position sensor.
The system may further comprise a pulse generating means adapted to produce a clock signal. The electronic processing means may be adapted to sample the output of the second sensing means upon each clock signal.
The system may also include a clutch between the rotor and the gearbox, or the gearbox and the output shaft. A clutch status determining means may be provided to produce a xe2x80x9cmethod validxe2x80x9d signal when the clutch is engaged.
It will be understood that the present invention enables a high resolution measurement of motor rotor position to be obtained by combining information from a sensor provided on an output shaft with information having low resolution but high accuracy from a sensor provided at the motor rotor. Specifically, the low resolution information can be employed to update an offset value which enables positional information obtained from the output shaft sensor to be correlated to the rotor position where an arbitrary relationship between the angular position of the output shaft and motor rotor exists. This is especially advantageous in a system in which a clutch is provided as a part of the intermediate means, and/or a system in which the output shaft position is measured with respect to an arbitrarily determined datum.